iT邦幫忙

2023 iThome 鐵人賽

DAY 14
0

前情提要:

今天要來分享 Python 當作可以用來進行單元測試的框架,Pytest,主要會來講述要怎麼使用它,和使用時應該要注意的點,那話不多說,我們開始!

套件安裝:

在開始使用前,需要先安裝該套件,以下為指令:

pipenv install pytest

前置作業:

  1. 在使用 Pytest 時,我們會將主程式碼放入 src 資料夾中,測試程式碼放入 tests 資料夾中,因此目錄結構會為以下樣子:
- src
    - functions.py
- test
    - test_functions.py
  1. 命名測試檔時,會以要測試檔前面加 test_ 為主,因此該測試檔名字會是 test_functions.py

Pytest 範例:

# functions.py
def sum(a, b):
    return a + b

def minus(a, b):
    return a - b
# test_functions.py
from src import sum, minus

def test_sum():
    assert sum(15, 10) == 25

def test_minus():
    assert minus(15, 10) == 5

以上可以看到 functions.py 是我們的主要程式碼,裡面函式的功能分別是「總和」和「刪減」,因此此二就是我們需要測試的函式。在 test_functions.py 當中,我們利用 assert 此關鍵字,左邊放入 functions.py 裡面要測試的函式,右邊放入預計的結果。最後在終端機當中輸入 pytest 就可以看到以下結果了:
https://ithelp.ithome.com.tw/upload/images/20230926/20151565FFmYJeGERw.png

補充說明:

在執行時其實會出現找不到模塊的問題,而解決此問題的方法就是增加 __init__.py,以下為解決辦法:

#### src/__init__.py
from src.functions import sum, minus
#### tests/__init__.py
from src import functions

上一篇
Day13 - 單元測試概念
下一篇
Day15 - Docker 概念
系列文
Python Flask CICD 啟動 ! 建構屬於你的自動化流程 !30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言